#include<string>
#include<fstream>
#include"LogMessage.hpp"

class File_API{
public:
    static bool read_file(const std::string& file_name, std::string& file_content)
    {
        //打开文件
        std::ifstream ifs(file_name, std::ios::binary);
        if (ifs.is_open() == false)
        {
            log_message(ERROR, "文件 %s 打开失败", file_name.c_str());
            return false;
        }

        //获取文件大小
        size_t fsize = 0;
        ifs.seekg(0, std::ios::end);
        fsize = ifs.tellg();
        ifs.seekg(0, std::ios::beg);

        file_content.resize(fsize);

        //将所有数据读出来
        ifs.read(&file_content[0], fsize);
        if (ifs.good() == false)
        {
            log_message(ERROR, "文件 %s 读取失败", file_name.c_str());
            return false;
        }

        ifs.close();
        return true;
    }
};